﻿using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Extensions.Logging;
using System.IO;

namespace SerilogDemo
{
    public class Test1
    {
        private readonly ILogger<Test1> _logger;

        public Test1(ILogger<Test1> logger)
        {
            _logger = logger;
        }

        public void Test()
        {
            _logger.LogDebug("开始执行数据库同步");
            _logger.LogDebug("连接数据库成功");
            _logger.LogWarning("查找数据失败,重试第一次");
            //...
            _logger.LogWarning("查找数据失败,重试第二次");
            _logger.LogError("查找数据最终失败,");


            //模拟记录异常日志
            try
            {
                //A盘(软盘)肯定不存在
                File.ReadAllText("A:/a.txt");
                _logger.LogDebug("读取文件成功!");
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "读取文件失败");
            }

            int count = 100;
            User user = new User() { Name="张三",Email="dad@qq.com" };
            //值类型：{count}会ToString,对象类型加@:{@user}
            _logger.LogDebug("注册一个新用户:{@user},值类型：{count}", user,count);

        }
    }


    public class User
    {
        public string Name { get; set; }

        public string Email { get; set; }
    }

}
